package semana4.matrices.ejercicios;

import java.util.Random;

public class Matrices07_MayorFilaYColum {

	private int[][] matriz;
	private int[] sumaFilas;
	private int[] sumaColumnas;

	public Matrices07_MayorFilaYColum() {
		inicializarMatriz();
		rellenarMatriz();
		mostrarMatriz();
		sumarFilas();
		mostrarFilaMayor();
		sumarColumnas();
		mostrarColumnaMayor();
	}

	private void mostrarColumnaMayor() {
		int acc = 0;
		int numeroColumna = 0;
		for (int i = 0; i < sumaColumnas.length; i++) {
			if (sumaColumnas[i] > acc) {
				acc = sumaColumnas[i];
				numeroColumna = i;
			}

		}
		System.out.println("=========================");
		System.out.println("La columna mayor es la " + (numeroColumna+1)
				+ " y suma " + acc);

	}

	private void sumarColumnas() {
		sumaColumnas = new int[5];
		for (int i = 0; i < matriz.length; i++) {
			for (int j = 0; j < matriz[0].length; j++) {

				sumaColumnas[j] = sumaColumnas[j] + matriz[i][j];
			}
		}

	}

	private void mostrarFilaMayor() {
		int acc = 0;
		int numeroFila = 0;
		for (int i = 0; i < sumaFilas.length; i++) {
			if (sumaFilas[i] > acc) {
				acc = sumaFilas[i];
				numeroFila = i;
			}

		}
		System.out.println("=========================");
		System.out.println("La fila mayor es la " + (numeroFila+1) + " y suma "
				+ acc);
	}

	private void sumarFilas() {

		sumaFilas = new int[5];
		int acc = 0;
		for (int i = 0; i < matriz.length; i++) {
			for (int j = 0; j < matriz[0].length; j++) {

				sumaFilas[i] = sumaFilas[i] + matriz[i][j];
			}
		}

	}

	private void mostrarMatriz() {
		for (int i = 0; i < this.matriz.length; i++) {
			for (int j = 0; j < this.matriz[0].length; j++) {
				System.out.print(matriz[i][j] + "\t");
			}
			System.out.println();
		}

	}

	private void rellenarMatriz() {
		for (int i = 0; i < this.matriz.length; i++) {
			for (int j = 0; j < this.matriz[0].length; j++) {
				matriz[i][j] = (new Random().nextInt(20) + 1);
			}
		}

	}

	private void inicializarMatriz() {
		matriz = new int[5][5];

	}

	public static void main(String[] args) {

		new Matrices07_MayorFilaYColum();
	}

}
